<?
if (!isset($_SESSION)) {
    session_start();
}
include_once '../includes/config.php';
include_once '../includes/parcial.php';
$grupoId = $_SESSION['grupo_id'];
$GrupoServicios = new GrupoServicios();
if (isset($_POST['id'])) {
    $id = $_POST['id'];
    $rServicios = new ReservaServicios();
    $reserva = $rServicios->buscar($id);
    $tratamientos = $rServicios->buscarTratamientosDisponiblesSinReservaActual($reserva->getFecha(), substr($reserva->getHora(), 0, 2), $id);
} else {
    $fecha_recibida = "";
    $hora_recibida = "";
}
$descServicios = new DescuentoServicios();
$descuentos = $descServicios->listarKeyValue();
?>
<div id="contenedorNuevaReserva" style="display: inline-block;">
    <?php
    if ($GrupoServicios->puedeModificarReservas($grupoId)) {
        ?>
        <div id="detalleReserva" style="width: 917px;">
            <div>
                <label class="etiquetaAbm labelModificar">Fecha y hora:</label><label><?= date("d/m/Y", strtotime($reserva->getFecha())); ?> / <?php echo substr($reserva->getHora(), 0, 5); ?></label>
            </div>
            <div>
                <label class="etiquetaAbm labelModificar">Tipo de reserva:</label><label><?php
                    if ($reserva->getHabitacion() != '') {
                        echo "Hotel";
                    } else {
                        echo "Cliente Eventual";
                    }
                    ?></label>
            </div>
            <div>
                <label class="etiquetaAbm labelModificar">Tratamiento:</label><label><?php echo $reserva->getTratamiento()->getNombre(); ?></label>
            </div>
            <div>
                <label class="etiquetaAbm labelModificar">Terapeuta:</label><label><?php echo $reserva->getNombreCompTerapeuta() ?></label>
            </div>
            <div>
                <label class="etiquetaAbm labelModificar">Gabinete:</label><label><?php echo $reserva->getGabinete()->getNombre(); ?></label>
            </div>
    <?
    if ($reserva->getEstado() == RESERVADA) {
        echo Helper::botonJquery('editar', 'editar', 'Editar');
        echo Helper::botonJquery('cancelarReserva', 'cancelarReserva', 'Cancelar Reserva');
    }
    ?>
        </div>
        <div id="contentAMordificar" style="display: none;">
            <div id="modulosRadiosTipoClientes">
                <div class="modulos">
    <?
    $checkHotel = ($reserva->getHabitacion() != '') ? 'checked' : '';
    $checkCliente = ($reserva->getIdCliente() != 0) ? 'checked' : '';

    echo Helper::radioButtonHorizontal('tipoReserva', 'radioHotel', 'hotel', 'Hotel', $checkHotel);
    echo Helper::radioButtonHorizontal('tipoReserva', 'radioEventual', 'eventual', 'Eventual', $checkCliente);
    ?>
                </div>
            </div>
            <br/>
            <div class="reservas">
                <form accept-charset="utf-8" id="formReservaEventual" action="">
                    <div class="contenedorBotones" style="clear: both;">
                        <div id="botonEventual" class="<?php
                if ($reserva->getIdCliente() == 0) {
                    echo 'reserva';
                } else {
                    echo '';
                }
    ?>">
                        <?
                        echo Helper::botonJquery('modificar1', 'modificarEventual', 'Modificar');
                        echo Helper::botonJquery('cancelar', 'cancelar', 'Cancelar');
                        ?>
                        </div>
                        <div id="botonHotel" class="<?php
                                 if ($reserva->getHabitacion() == '') {
                                     echo 'reserva';
                                 } else {
                                     echo '';
                                 }
                                 ?>">
                        <?
                        echo Helper::botonJquery('modificar', 'modificarHotel', 'Modificar');
                        echo Helper::botonJquery('cancelar', 'cancelar', 'Cancelar');
                        ?>
                        </div>

                    </div>
                    <div class="contenedorModulos">
                        <div class="modulo">
                                 <?
//            echo Helper::entradaTextoVerticalChica("Fecha", "70", date("d/m/Y", strtotime($reserva->getFecha())), 'fecha_reserva', 'disabled');
                                 echo Helper::entradaTextoVerticalChica("Fecha", "70", date("d/m/Y", strtotime($reserva->getFecha())), 'fecha_reserva');
//            echo Helper::selectHorarioVertical("Hora", "hora_reserva", "hora_reserva", 55, substr($reserva->getHora(), 0, 2), "disabled");
                                 echo Helper::selectHorarioVertical("Hora", "hora_reserva", "hora_reserva", 55, substr($reserva->getHora(), 0, 2));
//            echo Helper::entradaTextoVertical("Hora", "55", substr($reserva->getHora(), 0, 2), 'hora_reserva', 'disabled');
                                 ?>
                            <div class="entradaVertical">
                                <label class="etiquetaAbm">Tratamiento</label><br/>
                                <select style="width: 150px;" id="tratamiento_reserva" name="tratamiento_reserva">
                                    <option value="0 ">Seleccione</option>
                            <?php
                            for ($i = 0; $i < count($tratamientos); $i++) {
                                $selected = $tratamientos[$i]->getId() == $reserva->getIdTratamiento() ? "selected='selected'" : "";
                                ?>
                                        <option value="<?php echo $tratamientos[$i]->getId(); ?>" <?= $selected ?>><?php echo $tratamientos[$i]->getNombre(); ?></option>
        <?php
    }
    ?>
                                </select>
                            </div>
                        </div>
                        <div class="modulo">
                                    <?
                                    echo Helper::selectVertical('Terapeuta', array(), 'terapeuta_reserva', 'terapeuta_reserva', '150');
                                    echo Helper::selectVertical('Gabinete', array(), 'gabinete_reserva', 'gabinete_reserva', '150');
                                    ?>
                        </div>
                        <div id="reservaEventual" class="<?php
                                echo ($reserva->getIdCliente() == 0) ? 'reserva' : '';
                                ?>">
                            <div class="modulo unaLinea" id="buscadorCliente">
                            <?
                            echo Helper::entradaTextoVertical("Cliente", "150", $reserva->getNombreCompCliente(), 'cliente_reserva');
                            ?>
                                <input type="hidden" id="cliente_reserva_id" value="<?php echo $reserva->getIdCliente(); ?>"/>
                                <img id="buscarCliente" class="buscar" src="imagenes/lupa.png" alt="buscar" title="Buscar cliente"/>
                            </div>
                            <div class="modulo" id="moduloBuscarCliente"></div>
                            <div class="modulo unaLinea" >
                                <?= Helper::textAreaHorizontal("Observaciones", 5, 310, $reserva->getObservaciones(), "observaciones_reserva") ?>
                            </div>
                            <div class="modulo unaLinea" >
    <?= Helper::selectVertical("Descuento", $descuentos, "descuento_reserva", "descuento_reserva", 161) ?>
                            </div>
                        </div>
                        <div id="reservaHotel" class="<?php
    if ($reserva->getHabitacion() == '') {
        echo 'reserva';
    } else {
        echo '';
    }
    ?>">
                            <div class="modulo unaLinea" id="buscadorHabitacion">
                        <?
                        echo Helper::entradaTextoVertical("Habitacion", "150", $reserva->getHabitacion(), 'habitacion_reserva_hotel');
                        ?>
                            </div>
                            <div class="modulo" id="moduloBuscarHabitacion"></div>
                            <div class="modulo unaLinea" >
                        <?= Helper::textAreaHorizontal("Observaciones", 5, 310, $reserva->getObservaciones(), "observaciones_hotel") ?>
                            </div>
                            <div class="modulo unaLinea" >
                                <?= Helper::selectVertical("Descuento", $descuentos, "descuento_hotel", "descuento_hotel", 161) ?>
                            </div>
                        </div>
                    </div>          
                </form>
            </div>
        </div>
                                <?php
                            } else {
                                echo "No tiene permisos para modificar reservas";
                            }
                            ?>
</div>
<script type="text/javascript">
    var terapeutaCargado = false;
    var gabineteCargado = false;
    function ActualizarTerapeuta() {
        if (!terapeutaCargado) {
            setTimeout(ActualizarTerapeuta, 50);
            return;
        }
        $("#terapeuta_reserva").val(<?= $reserva->getIdTerapeuta() ?>);
    }
    function ActualizarGabinete() {
        if (!gabineteCargado) {
            setTimeout(ActualizarGabinete, 50);
            return;
        }
        $("#gabinete_reserva").val(<?= $reserva->getIdGabinete() ?>);
    }
    $(document).ready(function() {
        $("#fecha_reserva").change(function() {
            $("#tratamiento_reserva").trigger("change");
        });

        $("#hora_reserva").change(function() {
            $("#tratamiento_reserva").trigger("change");
        });
        
        $("#habitacion_reserva_hotel").tokenInput("buscarHabitacionesLista.php", {
            theme: "facebook",
            preventDuplicates: true,
            searchingText: "<?= BUSCANDO ?>",
            hintText: "<?= AYUDA_TOKENINPUT ?>",
            noResultsText: "<?= SIN_RESULTADO_TOKENINPUT ?>",
            tokenLimit: 1,
            onAdd: function() {
                recalcularAlturaTope($(this));
            },
            onReady: function() {
                registrarAlturaTokenInput($(this));
                recalcularAlturaTope($(this));
            }
        });

        //////
<?
if ($reserva->getHabitacion() != "") {
    ?>
            $("#habitacion_reserva_hotel").tokenInput("add", {id: "<?= $reserva->getHabitacion() ?>", name: "<?= $reserva->getHabitacion() ?>"});
    <?
}
?>
        //////



        $("#buscarCliente").insertAfter("#buscadorCliente label");
        $("#buscarHabitacion").insertAfter("#buscadorHabitacion label");
        $("#tope").height(430);
        $("#cancelar").live("click", function() {
            $(".gabineteGrillaLibre").attr("style", false);
        });
        $("#editar").click(function() {
            $(this).hide();
            $("#tratamiento_reserva").trigger("change");
            ActualizarTerapeuta();
            ActualizarGabinete();
            $("#detalleReserva").hide();
            $("#contentAMordificar").show();
        });
        $("#cancelarReserva").click(function() {
            if (confirm("¿Desea cancelar definitivamente la reserva?")) {
                $.blockUI();
                $.ajax({
                    url: "cancelarReserva.php",
                    data: {id: "<?= $id ?>"},
                    type: "post",
                    success: function(data) {
                        if (data == "1") {
                            $.growlUI('Reserva cancelada..');
                            $("#cuerpo").load('grilla.php');
                            $("#tope").html("");
                            $("#tope").slideUp();
                        }
                        else {
                            $.unblockUI();
                            $.growlUI('No se pudo cancelar la Reserva..');
                        }
                    }
                });
            }
        });
        $('#fecha_reserva').datepicker({
            dateFormat: 'd/m/yy',
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            closeText: "Cerrar"
        });
        $('#fecha_reserva').datepicker({
            dateFormat: 'd/m/yy',
            changeMonth: true,
            changeYear: true,
            showButtonPanel: true,
            closeText: "Cerrar"

        });
        $("#formReservaEventual").validate(
                {
                    rules:
                            {
                                fecha_reserva: "required",
                                tratamiento_reserva: "required",
                                terapeuta_reserva: "required",
                                gabinete_reserva: "required"
                                        //                    cliente_reserva: "required"
                            },
                    messages:
                            {
                                fecha_reserva: "*",
                                tratamiento_reserva: "*",
                                terapeuta_reserva: "*",
                                gabinete_reserva: "*",
                                cliente_reserva: "*"
                            }
                });
        $("#formReservaHotel").validate(
                {
                    rules:
                            {
                                fecha_reserva: "required",
                                tratamiento_reserva_hotel: "required",
                                terapeuta_reserva_hotel: "required",
                                gabinete_reserva_hotel: "required",
                                habitacion_reserva_hotel: "required"
                            },
                    messages:
                            {
                                fecha_reserva: "*",
                                tratamiento_reserva_hotel: "*",
                                terapeuta_reserva_hotel: "*",
                                gabinete_reserva_hotel: "*",
                                habitacion_reserva_hotel: "*"
                            }
                });
        $("#fecha_reserva").blur(function() {
            var fecha = $(this).attr("value");
            $.ajax({
                type: "POST",
                url: "buscarTratamientos.php",
                data: {fecha: fecha, hora: '10:00', gabinete: '1'},
                dataType: "json",
                success: function(data) {
                    $("#tratamiento_reserva").append("<option value='0'>Seleccione</option>");
                    $.each(data, function(i, item) {
                        $("#tratamiento_reserva").append("<option value='" + item.id + "'>" + item.valor + "</option>");
                    });
                }
            });
        });
        $("#fecha_reserva").blur(function() {
            var fecha = $(this).attr("value");
            $.ajax({
                type: "POST",
                url: "buscarTratamientos.php",
                data: {fecha: fecha},
                dataType: "json",
                success: function(data) {
                    $("#tratamiento_reserva_hotel").append("<option value='0'>Seleccion</option>");
                    $.each(data, function(i, item) {
                        $("#tratamiento_reserva_hotel").append("<option value='" + item.id + "'>" + item.valor + "</option>");
                    });
                }
            });
        });
        //            $("#terapeuta_reserva").change(function(){
        //                var fecha=$(this).attr("value");
        //                var tratamiento=$("#tratamiento_reserva").attr("value");
        //                var terapeuta=$("#terapeuta_reserva").attr("value");
        //                $.ajax({
        //                    type: "POST",
        //                    url: "buscarGabinetesDisponibles.php",
        //                    data: {fecha: fecha,tratamiento: tratamiento, terapeuta: terapeuta},
        //                    dataType: "json",
        //                    success: function(data){
        //                        $("#gabinete_reserva").append("<option value='0'>Seleccione</option>");
        //                        $.each(data, function(i, item){
        //                            $("#gabinete_reserva").append("<option value='"+item.id+"'>"+item.valor+"</option>");
        //                        });
        //                    }
        //                });
        //            });
        //            $("#terapeuta_reserva_hotel").change(function(){
        //                var fecha=$(this).attr("value");
        //                var tratamiento=$("#tratamiento_reserva_hotel").attr("value");
        //                var terapeuta=$("#terapeuta_reserva_hotel").attr("value");
        //                $.ajax({
        //                    type: "POST",
        //                    url: "buscarGabinetesDisponibles.php",
        //                    data: {fecha: fecha,tratamiento: tratamiento, terapeuta: terapeuta},
        //                    dataType: "json",
        //                    success: function(data){
        //                        $("#gabinete_reserva_hotel").append("<option value='0'>Seleccione</option>");
        //                        $.each(data, function(i, item){
        //                             $("#gabinete_reserva_hotel").append("<option value='"+item.id+"'>"+item.valor+"</option>");
        //                        });
        //                    }
        //                });
        //            });
        $("#tratamiento_reserva").change(function() {
            var fecha = $("#fecha_reserva").val();
            var hora = $("#hora_reserva").attr("value");
            var tratamiento = $(this).val();
            if (tratamiento == 0) {
                $("#terapeuta_reserva").html("");
                $("#gabinete_reserva").html("");
            } else {
                $.ajax({
                    type: "POST",
                    url: "buscarTerapeutasModificacion.php",
                    data: {fecha: fecha, hora: hora, tratamiento: tratamiento, reserva: <?php echo $id; ?>},
                    dataType: "json",
                    success: function(data) {
                        $("#terapeuta_reserva").html("");
                        $("#terapeuta_reserva").append("<option value='0'>Seleccione</option>");
                        $.each(data, function(i, item) {
                            $("#terapeuta_reserva").append("<option value='" + item.id + "'>" + item.valor + "</option>");
                        });
                        $.ajax({
                            type: "POST",
                            url: "buscarGabinetesDisponiblesModificacion.php",
                            data: {fecha: $("#fecha_reserva").attr("value"), hora: $("#hora_reserva").attr("value"), tratamiento: $("#tratamiento_reserva").attr("value"), reserva: <?php echo $id; ?>},
                            dataType: "json",
                            success: function(data) {
                                $("#gabinete_reserva").html("");
                                $("#gabinete_reserva").append("<option value='0'>Seleccione</option>");
                                $.each(data, function(i, item) {
                                    $("#gabinete_reserva").append("<option value='" + item.id + "'>" + item.valor + "</option>");
                                });
                            },
                            complete: function() {
                                gabineteCargado = true;
                            }
                        });
                    },
                    complete: function() {
                        terapeutaCargado = true;
                    }
                });
            }
        });
        $("#tratamiento_reserva_hotel").change(function() {
            var fecha = $("#fecha_reserva").attr("value");
            var hora = $("#hora_reserva").attr("value");
            var tratamiento = $(this).attr("value");
            $.ajax({
                type: "POST",
                url: "buscarTerapeutas.php",
                data: {fecha: fecha, hora: hora, tratamiento: tratamiento},
                dataType: "json",
                success: function(data) {
                    $("#terapeuta_reserva_hotel").html("");
                    $("#terapeuta_reserva_hotel").append("<option value='0'>Seleccione</option>");
                    $.each(data, function(i, item) {
                        $("#terapeuta_reserva_hotel").append("<option value='" + item.id + "'>" + item.valor + "</option>");
                    });
                    $.ajax({
                        type: "POST",
                        url: "buscarGabinetesDisponibles.php",
                        data: {fecha: $("#fecha_reserva").attr("value"), hora: $("#hora_reserva").attr("value"), tratamiento: $("#tratamiento_reserva_hotel").attr("value")},
                        dataType: "json",
                        success: function(data) {
                            $("#gabinete_reserva_hotel").html("");
                            $("#gabinete_reserva_hotel").append("<option value='0'>Seleccione</option>");
                            $.each(data, function(i, item) {
                                $("#gabinete_reserva_hotel").append("<option value='" + item.id + "'>" + item.valor + "</option>");
                            });
                        }
                    });
                }
            });
        });
        $("#buscarCliente").click(function() {
            $("#moduloBuscarCliente").load("buscarClientesEventuales.php");
        });
        $("#buscarHabitacion").click(function() {
            $("#moduloBuscarHabitacion").load("buscarHabitacionReserva.php");
        });
        $("#cambiarCliente").live("click", function() {
            $("#clientesEventuales").show();
        });
        $("#cambiarHabitacion").live("click", function() {
            $("#moduloBuscarHabitacion").show();
        });
        $("input[name='tipoReserva']").change(function() {
            if ($(this).attr("value") == "hotel") {
                $("#reservaEventual").hide();
                $("#reservaHotel").show();
                $("#botonEventual").hide();
                $("#botonHotel").show();
            }
            else {
                $("#reservaEventual").show();
                $("#reservaHotel").hide();
                $("#botonEventual").show();
                $("#botonHotel").hide();
            }
        });
        $("#modificarEventual").click(function(event) {
            event.preventDefault();
            if ($("#formReservaEventual").validate().form()) {
                var fecha = $("#fecha_reserva").val();
                var hora = $("#hora_reserva").val();
                var tratamiento = $("#tratamiento_reserva").val();
                var terapeuta = $("#terapeuta_reserva").val();
                var gabinete = $("#gabinete_reserva").val();
                var cliente = $("#cliente_reserva_id").val();
                var descuento = $("#descuento_reserva").val();
                var observaciones = $("#observaciones_reserva").val();
                $.blockUI();
                $.ajax({
                    type: "POST",
                    url: "modificarDatosReserva.php",
                    data: {id: <?php echo $id; ?>, fecha: fecha, hora: hora, tratamiento: tratamiento, terapeuta: terapeuta, gabinete: gabinete, cliente: cliente, descuento: descuento, observaciones: observaciones},
                    success: function(data) {
                        if (data == "1") {
                            $.growlUI('Reserva modificada..');
                            $("#cuerpo").load('grilla.php');
                            $("#tope").html("");
                            $("#tope").slideUp();
                        }
                        else {
                            $.unblockUI();
                            $.growlUI('No se pudo modificar la Reserva..');
                        }
                    }
                });
            }
            else {
                $.growlUI('Complete los campos obligatorios..');
            }
        });
        $("#modificarHotel").click(function(event) {
            event.preventDefault();
            if ($("#formReservaEventual").validate().form()) {
                var fecha = $("#fecha_reserva").val();
                var hora = $("#hora_reserva").val();
                var tratamiento = $("#tratamiento_reserva").val();
                var terapeuta = $("#terapeuta_reserva").val();
                var gabinete = $("#gabinete_reserva").val();
                var habitacion = $("#habitacion_reserva_hotel").val();
                var descuento = $("#descuento_hotel").val();
                var observaciones = $("#observaciones_hotel").val();
                $.blockUI();
                $.ajax({
                    type: "POST",
                    url: "modificarDatosReserva.php",
                    data: {id: <?php echo $id; ?>, fecha: fecha, hora: hora, tratamiento: tratamiento, terapeuta: terapeuta, gabinete: gabinete, habitacion: habitacion, descuento: descuento, observaciones: observaciones},
                    success: function(data) {
                        if (data == "1") {
                            $.growlUI('Reserva modificada..');
                            $("#cuerpo").load('grilla.php');
                            $("#tope").html("");
                            $("#tope").slideUp();
                        }
                        else {
                            $.unblockUI();
                            $.growlUI('No se pudo modificar la Reserva..');
                        }
                    }
                });
            }
            else {
                $.growlUI('Complete los campos obligatorios..');
            }
        });
    });
</script>
